The present invention relates to a data transmitter, and particularly relates to a technique for data transmission between an external device connected to a data transmitter by an IEEE 1394 bus or the like and a working memory connected to a CPU bus.
IEEE (Institute of Electrical and Electronic Engineers) 1394, which is a standard for performing device information (Config-ROM) exchange and command/data transfer using a virtual 48-bit address space on a single device (node), enables high-speed data transfer. In recent years, the IEEE 1394 has been adopted for the purpose of connecting a STB (set-top box) and a digital TV and thereby transferring EPG (electronic program guide) data. EPG data is large in size, and in menu manipulation using EPG, high-speed data transfer capability is demanded from the viewpoint of response speed.
A data transmitter having DMA transfer function is known as a high-speed high-capacity data transfer technique using the IEEE 1394. However, as shown in FIG. 4, in a typical structure for a digital TV and the like, a CPU 110, a working memory 120, and a data transmitter are connected on a CPU bus (local bus) 100. Therefore, in the conventional data transmitter, a DMA interface section 210 for performing DMA transfer accesses the working memory 120 through a CPU interface section 10 and the CPU bus 100.
FIGS. 5A and 5B show timings for the CPU bus access by the data transmitter shown in FIG. 4. FIG. 5A is a timing chart for data transmission to an external device, while FIG. 5B is a timing chart for data receipt from the external device. In the data transmitter shown in FIG. 4, data read from and data write to the working memory 120 and data write to and data read from the data transmitter occur alternately, thereby causing the performance of the data transmission to deteriorate.
In addition, data stored in a contiguous area in the memory space in the external device is not always stored in a contiguous area in the working memory 120, and when it is separated into a plurality of portions to be stored in a plurality of discontiguous areas in the working memory 120, correlations between virtual addresses in the external device and real addresses in the working memory 120 have to be established. This correlation-establishment also causes the performance of the data transmission to deteriorate.
The performance deterioration in the data transmission described above produces problems in that when EPG data is transferred from a STB to a digital TV using the IEEE 1394, for example, screen display is delayed or response of the menu manipulation slows down.